{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "88c32814-f1f3-4261-abab-d16993f68e7c",
   "metadata": {},
   "source": [
    "Chapter 10\n",
    "# 绘制一行两列子图\n",
    "Book_1《编程不难》 | 鸢尾花书：从加减乘除到机器学习 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9a0c322a-4262-40b4-a01b-a1bb4b9dcdd1",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x = np.linspace(0, 2 * np.pi, 100)\n",
    "y_sin = np.sin(x)\n",
    "y_cos = np.cos(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7cc49942-9e4e-4b5a-a77f-769a014ebf5d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAEaCAYAAAAMvDSjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABc70lEQVR4nO3dd1gU19cH8O9SXCQCiijFgiUi9oIasRsVBcWSaPTVJBpL1EQTWzT2EnuKmmKMlUQTW6xRNBIFSyR27D0iFlABAUWFFeb94/xAETAIu8zu8v08zz5hhln2EJy5c+bee65GURQFRERERERERKR3FmoHQERERERERGSumHQTERERERERGQiTbiIiIiIiIiIDYdJNREREREREZCBMuomIiIiIiIgMhEk3ERERERERkYEw6SYiIiIiIiIyECbdRERERERERAbCpJuIiIiIiIjIQJh0E5moQ4cOoUuXLihbtiy0Wi2cnZ3h7e2NkSNHZjiuRYsWaNGihSoxhoeHo3379nB0dIRGo8GwYcNUiQMAHj16hClTpiAkJCTT9wICAqDRaBAeHp7vcRERkeGdOnUKH3zwAcqXLw8bGxsUKVIEdevWxdy5cxEbG2uQzyxXrhz69OljkJ/9X06cOIHmzZvDwcEBGo0G8+fPVyUOALh9+zamTJmCsLCwTN+bMmUKNBpN/gdFlM80iqIoagdBRK9m+/bt6NixI1q0aIEBAwbA1dUVkZGROHr0KNasWYObN2+mH3vu3DkAQNWqVfM9zi5dumD//v1YunQpXFxc4OrqCnd393yPAwCio6NRokQJTJ48GVOmTMnwvXv37uHq1auoU6cOtFqtKvEREZFhLFmyBB999BEqV66Mjz76CFWrVoVOp8PRo0exZMkS1KpVC5s2bdL75544cQL29vaoWLGi3n/2f6lTpw4SExOxYMECFCtWDOXKlYOLi0u+xwEAR48eRf369bFixYpMDyFu3ryJmzdvomHDhqrERpRfmHQTmaDmzZvj1q1buHDhAqysrDJ8LzU1FRYWxjGIpVKlSqhUqRICAwPVDuWlSTcREZmn0NBQNG3aFG3atMHmzZszPVhNTk7Gzp070bFjR5UiNAxra2sMGDAACxcuVDuUlybdRAWFcdyZE9EriYmJgZOTU6aEG0CmhPvF4eXh4eHQaDT46quv8M0336B8+fIoUqQIvL298c8//2T6eUePHkXHjh3h6OgIGxsb1KlTB+vWrXtpfCEhIdBoNLhy5Qp27NgBjUaTPnw7u6Hcae95fvh3ixYtUL16dRw5cgRNmzaFra0tKlSogNmzZyM1NTXD++Pi4jBy5EhUqFABWq0WJUuWhJ+fHy5cuIDw8HCUKFECADB16tT0eNIa/+xiWr58OWrVqgUbGxs4OjqiS5cuOH/+fIZj+vTpgyJFiuDKlSvw8/NDkSJFUKZMGYwcORJJSUkv/f9ERESGNXPmTGg0GixevDjLkUyFChXKkHCnpqZi7ty58PT0TG9L3n///QwjyADpxe7QoQNKliwJrVYLNzc3tG/fPsNxLw4vT2vnVq9ejfHjx8PNzQ329vZo3bo1Ll68mCm2v/76C61atYK9vT1sbW3RuHFj7N69+6W/b1p79vTpU/z444/p7R2Q/VDurNrAcuXKoUOHDti5cyfq1q2LwoULw9PTE8uXL8/0/lu3buHDDz9EmTJlUKhQIbi5uaFr1664c+cOQkJCUL9+fQDABx98kB5P2sPvrGLK6d/gVe4RiNTGpJvIBHl7e+PQoUP45JNPcOjQIeh0ulf+GT/88AOCgoIwf/58/Prrr0hMTISfnx/i4+PTjwkODkbjxo0RFxeHRYsWYcuWLahduza6d++OgICAbH923bp1ERoaChcXFzRu3BihoaEIDQ2Fq6vrK8cZFRWFXr164d1338XWrVvh6+uLsWPHYtWqVenHPHjwAE2aNMFPP/2EDz74AH/88QcWLVoEDw8PREZGwtXVFTt37gQA9OvXLz2eiRMnZvu5s2bNQr9+/VCtWjVs3LgRCxYswKlTp+Dt7Y3Lly9nOFan06Fjx45o1aoVtmzZgr59+2LevHmYM2fOK/++RESkHykpKdizZw+8vLxQpkyZHL1n8ODBGDNmDNq0aYOtW7fiiy++wM6dO9GoUSNER0cDABITE9GmTRvcuXMnQ1tatmxZPHjw4D8/Y9y4cbh+/TqWLl2KxYsX4/Lly/D390dKSkr6MatWrYKPjw/s7e3x888/Y926dXB0dETbtm1fmni3b98eoaGhAICuXbumt3e5cfLkSYwcORLDhw/Hli1bULNmTfTr1w/79u1LP+bWrVuoX78+Nm3ahBEjRmDHjh2YP38+HBwccP/+fdStWxcrVqwAAEyYMCE9nv79+2f7uTn5G6TJyT0CkVFQiMjkREdHK02aNFEAKAAUa2trpVGjRsqsWbOUBw8eZDi2efPmSvPmzdO3r127pgBQatSooTx9+jR9/+HDhxUAyurVq9P3eXp6KnXq1FF0Ol2Gn9mhQwfF1dVVSUlJeWmc7u7uSvv27TPsW7FihQJAuXbtWob9wcHBCgAlODg4Q+wAlEOHDmU4tmrVqkrbtm3Tt6dNm6YAUIKCgrKN5d69ewoAZfLkyZm+92JM9+/fVwoXLqz4+fllOC4iIkLRarVKz5490/f17t1bAaCsW7cuw7F+fn5K5cqVs42HiIgMKyoqSgGg9OjRI0fHnz9/XgGgfPTRRxn2Hzp0SAGgjBs3TlEURTl69KgCQNm8efNLf567u7vSu3fv9O20du7FtmXdunUKACU0NFRRFEVJTExUHB0dFX9//wzHpaSkKLVq1VIaNGjwn78LAOXjjz/OsG/y5MlKVrf+WbXL7u7uio2NjXL9+vX0fY8fP1YcHR2VgQMHpu/r27evYm1trZw7dy7bWI4cOaIAUFasWJHpey/GlNO/gaLk/B6ByBiwp5vIBBUvXhz79+/HkSNHMHv2bHTq1AmXLl3C2LFjUaNGjUxPgrPSvn17WFpapm/XrFkTAHD9+nUAwJUrV3DhwgX06tULAPD06dP0l5+fHyIjI7McDqdvLi4uaNCgQYZ9NWvWTI8TAHbs2AEPDw+0bt1aL58ZGhqKx48fZ5p7VqZMGbz55puZehk0Gg38/f1fGiMRERm34OBgAMh07W/QoAGqVKmSfu1//fXXUaxYMYwZMwaLFi1KL1iaUy/OH3+x/T148CBiY2PRu3fvDG1vamoq2rVrhyNHjiAxMTE3v+IrqV27NsqWLZu+bWNjAw8Pj0ztb8uWLVGlShW9fGZO/wZpcnKPQGQMmHQTmbB69ephzJgxWL9+PW7fvo3hw4cjPDwcc+fO/c/3Fi9ePMN22ly3x48fAwDu3LkDABg1ahSsra0zvD766CMAyFFyn1cvxpkWa1qcgFQfL126tN4+MyYmBgCyHA7v5uaW/v00tra2sLGxyRTjkydP9BYTERG9GicnJ9ja2uLatWs5Oj6n134HBwfs3bsXtWvXxrhx41CtWjW4ublh8uTJOZruldP2t2vXrpna3zlz5kBRFIMtc/ayONNiNab2NycxEhmDzFWYiMgkWVtbY/LkyZg3bx7OnDmT55/n5OQEABg7dizeeuutLI+pXLnyK//ctOT0xSJjeUngS5QokanASl6kNeKRkZGZvnf79u30/zdERGS8LC0t0apVK+zYsQM3b978z+Tw+Wv/i8e+eO2vUaMG1qxZA0VRcOrUKQQEBGDatGkoXLgwPv/88zzFnfY53333XbZLaTk7O7/yz32+/X2+qJyxtr//9TcgMiXs6SYyQVklgwDSK2u7ubnl+TMqV66MSpUq4eTJk6hXr16WLzs7u1f+ueXKlQMAnDp1KsP+rVu35jpWX19fXLp0CXv27Mn2mBd7El7G29sbhQsXzlSI5ebNm9izZw9atWqV61iJiCj/jB07FoqiYMCAAUhOTs70fZ1Ohz/++AMA8OabbwJApmv/kSNHcP78+Syv/RqNBrVq1cK8efNQtGhRHD9+PM8xN27cGEWLFsW5c+eybX8LFSr0yj83u/Y37ffPDV9fXwQHB790utmrtL+5+RsQmQL2dBOZoLZt26J06dLw9/eHp6cnUlNTERYWhq+//hpFihTBp59+qpfP+emnn+Dr64u2bduiT58+KFWqFGJjY3H+/HkcP34c69evf+WfWb9+fVSuXBmjRo3C06dPUaxYMWzatAkHDhzIdZzDhg3D2rVr0alTJ3z++edo0KABHj9+jL1796JDhw5o2bIl7Ozs4O7uji1btqBVq1ZwdHSEk5NT+k3I84oWLYqJEydi3LhxeP/99/F///d/iImJwdSpU2FjY4PJkyfnOlYiIso/3t7e+PHHH/HRRx/By8sLgwcPRrVq1aDT6XDixAksXrwY1atXh7+/PypXrowPP/wQ3333HSwsLODr64vw8HBMnDgRZcqUwfDhwwEA27Ztw8KFC9G5c2dUqFABiqJg48aNiIuLQ5s2bfIcc5EiRfDdd9+hd+/eiI2NRdeuXVGyZEncu3cPJ0+exL179/Djjz++8s/18/ODo6Mj+vXrh2nTpsHKygoBAQG4ceNGrmOdNm0aduzYgWbNmmHcuHGoUaMG4uLisHPnTowYMQKenp6oWLEiChcujF9//RVVqlRBkSJF4ObmlmUHQU7/BkSmhj3dRCZowoQJKFasGObNm4eOHTvC19cX3377LVq3bo3Dhw+jRo0aevmcli1b4vDhwyhatCiGDRuG1q1bY/Dgwfjrr79yXbTM0tISf/zxBzw9PTFo0CC8//770Gq1+P7773Mdp52dHQ4cOIB+/fph8eLFaN++PQYMGICLFy9maNSXLVsGW1tbdOzYEfXr109fJzQrY8eOxdKlS3Hy5El07twZQ4YMQbVq1XDw4EFUqlQp17ESEVH+GjBgAI4ePQovLy/MmTMHPj4+6Ny5M1avXo2ePXti8eLF6cf++OOPmD17NgIDA9GhQweMHz8ePj4+OHjwYPrQ50qVKqFo0aKYO3cuOnbsiG7duuH48eMICAjAgAED9BLzu+++i+DgYDx8+BADBw5E69at8emnn+L48eO57u21t7fHzp07YWdnh3fffReDBg1C9erVMX78+FzHWapUKRw+fBgdOnTA7Nmz0a5dOwwdOhTx8fFwdHQEIHVPli9fjpiYGPj4+KB+/foZ/p+/KCd/AyJTo1EURVE7CCIiIiIiIiJzxJ5uIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAzELJPuffv2wd/fH25ubtBoNNi8efNLjw8JCYFGo8n0unDhQv4ETERERERERGbJLJcMS0xMRK1atfDBBx/g7bffzvH7Ll68CHt7+/TtEiVKGCI8IiIiIiIiKiDMMun29fWFr6/vK7+vZMmSKFq0qP4DIiIiIiIiogLJLJPu3KpTpw6ePHmCqlWrYsKECWjZsmW2xyYlJSEpKSl9OzU1FbGxsShevDg0Gk1+hEtERAQAUBQFDx48gJubGywsTHfmGNtWIiIyBvpuV5l0A3B1dcXixYvh5eWFpKQkrFy5Eq1atUJISAiaNWuW5XtmzZqFqVOn5nOkRERE2btx4wZKly6tdhi5xraViIiMib7aVY2iKIoe4jFaGo0GmzZtQufOnV/pff7+/tBoNNi6dWuW33/xaXx8fDzKli2LS5cuwdHRMS8hExU4Op0OwcHBaNmyJaytrdUOh8jkxMbGwsPDA3FxcXBwcFA7nFxj20qkP2xbiXJP3+0qe7qz0bBhQ6xatSrb72u1Wmi12kz7HR0dUbx4cUOGRmR2dDodbG1tUbx4cd4YEOWBqQ/BZttKpD9sW4nyTl/tqulO/DKwEydOwNXVVe0wiIiIiIiIyISZZU/3w4cPceXKlfTta9euISwsDI6OjihbtizGjh2LW7du4ZdffgEAzJ8/H+XKlUO1atWQnJyMVatWYcOGDdiwYYNavwIRERERERGZAbNMuo8ePZqh8viIESMAAL1790ZAQAAiIyMRERGR/v3k5GSMGjUKt27dQuHChVGtWjVs374dfn5++R47ERERERERmQ+zTLpbtGiBl9WHCwgIyLA9evRojB492sBRERERERERUUHDOd1EREREREREBsKkm4iIiIiIiMhAmHQTERERERERGQiTbiIiIiIiIiIDYdJNREREREREZCBMuomIiIiIiIgMhEk3ERERERERkYEw6SYiIiIiIiIyECbdRERERERERAbCpJuIiIiIiIjIQJh0ExERERERERkIk24iIiIiIiIiA2HSTURERERERGQgTLqJiIiIiIiIDIRJNxEREREREZGBMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIiIiIiIyECYdBMREREREREZCJNuIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAzELJPuffv2wd/fH25ubtBoNNi8efN/vmfv3r3w8vKCjY0NKlSogEWLFhk+UCIiIiIiIjJrZpl0JyYmolatWvj+++9zdPy1a9fg5+eHpk2b4sSJExg3bhw++eQTbNiwwcCREhERERERkTmzUjsAQ/D19YWvr2+Oj1+0aBHKli2L+fPnAwCqVKmCo0eP4quvvsLbb79toCiJiIiIiIjI3Jll0v2qQkND4ePjk2Ff27ZtsWzZMuh0OlhbW2d6T1JSEpKSktK3ExISAAA6nQ46nc6wARMAIDUVuHEDuHpV878XEBmpQXQ0EB0t/334EHj69NlLUYAiReT12muAnZ0CV1egdGkFpUsDpUopqFwZqFJFga2t2r9hwZF2zvDcIcodczl3smtbrdzdoRQuDNjYAEWKQHFxAVxc5L+urlA8PKB4egLlygGWlipFT2Rc2LYSvUBRgMhIaC5cgObiReDGDWju3AHu3IEmMhKIjweePAGePIHV48d6/Wgm3QCioqLg7OycYZ+zszOePn2K6OhouLq6ZnrPrFmzMHXq1Ez7g4ODYctsTe8UBbh1qwguXy6Kq1eL4vLlYrh2zR7Jya/+TzguTl5Ck+UxGo0CF5dElC37ABUrxqFKlRh4eMRBq03J7a9AORAUFKR2CEQm6dGjR2qHoBfZta2axERoEhOfbV+4kOX7U6yt8bBUKcRVrIj7lSsjtnJlPChdmok4FWhsW6lAUhQUvnsXjpcuodjFiyh2+TLsbtyAdQ7by6wzhNxj0v0/Gk3G/7WKomS5P83Y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0k1ERERERERkIEy6iYiIiIiIiAyESTcRERERERGRgTDpJiIiIiIiIjIQJt1EREREREREBsKkm4hUc+/ePbi4uGDmzJnp+w4dOoRChQph165dKkZGRERketiuEhknjaIoitpBEFHBFRgYiM6dO+PgwYPw9PREnTp10L59e8yfP1/t0IiIiEwO21Ui48Okm4hU9/HHH+Ovv/5C/fr1cfLkSRw5cgQ2NjZqh0VERGSS2K4SGRcm3USkusePH6N69eq4ceMGjh49ipo1a6odEhERkcliu0pkXDinm4hU9++//+L27dtITU3F9evX1Q6HiIjIpLFdJTIu7OkmIlUlJyejQYMGqF27Njw9PfHNN9/g9OnTcHZ2Vjs0IiIik8N2lcj4MOkmIlV99tln+P3333Hy5EkUKVIELVu2hJ2dHbZt26Z2aERERCaH7SqR8eHwciJSTUhICObPn4+VK1fC3t4eFhYWWLlyJQ4cOIAff/xR7fCIiIhMCttVIuPEnm4iIiIiIiIiA2FPNxEREREREZGBMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIiIiIiIyECYdBMREREREREZCJNuIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAyESTcRERERERGRgTDpJiIiIiIiIjIQJt1EREREREREBsKkm4iIiIiIiMhA/h8YVqTOKrtnzwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建图形对象和子图布局\n",
    "fig, (ax1, ax2) = plt.subplots(1, 2, \n",
    "                  figsize=(10, 4), \n",
    "                  sharey=True)\n",
    "\n",
    "# 在左子图中绘制正弦函数曲线，设置为蓝色\n",
    "ax1.plot(x, y_sin, color='blue')\n",
    "ax1.set_title('Sine function')\n",
    "ax1.set_xlabel('x') \n",
    "ax1.set_ylabel('f(x)',\n",
    "               rotation='horizontal', \n",
    "               ha='right') \n",
    "ax1.set_xlim(0, 2*np.pi) \n",
    "ax1.set_ylim(-1.5, 1.5) \n",
    "x_ticks = np.arange(0, 2*np.pi+np.pi/2, np.pi) \n",
    "x_ticklabels = [r'$0$', r'$\\pi$', r'$2\\pi$'] \n",
    "ax1.set_xticks(x_ticks) \n",
    "ax1.set_xticklabels(x_ticklabels) \n",
    "ax1.grid(True)\n",
    "ax1.set_aspect('equal') \n",
    "\n",
    "# 在右子图中绘制余弦函数曲线，设置为红色\n",
    "ax2.plot(x, y_cos, color='red')\n",
    "ax2.set_title('Cosine function')\n",
    "ax2.set_xlabel('x') \n",
    "ax2.set_ylabel('f(x)', \n",
    "               rotation='horizontal', \n",
    "               ha='right') \n",
    "ax2.set_xlim(0, 2*np.pi) \n",
    "ax2.set_ylim(-1.5, 1.5) \n",
    "ax2.set_xticks(x_ticks) \n",
    "ax2.set_xticklabels(x_ticklabels) \n",
    "ax2.grid(True)\n",
    "ax2.set_aspect('equal') \n",
    "\n",
    "# 调整子图之间的间距\n",
    "plt.tight_layout()\n",
    "\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
